package objekte;
import java.util.Scanner;

public class Mastermindinvers{
  public static void main(String[] args){
    Scanner tastatur=new Scanner(System.in);
    int tip=122; // Zahl vor 123
    int d=0;
    Tip[] tips=new Tip[10];
    do{
      tip++;
      String str=(tip<1000?"0":"")+tip;
      if(ziffernDoppelt(str)) continue;
      if(widerspruch(d, str, tips)) continue;
      System.out.print(str+"    Wie viele Plusse? ");
      int p=tastatur.nextInt();
      System.out.print("        Wie viele Minusse? ");
      int m=tastatur.nextInt();
      if(p==4) return;
      tips[d]=new Tip(str, p, m);
      d++;
    } while(tip<9877);
    System.out.println("Du hast geschummelt.");
  }

  public static boolean ziffernDoppelt(String s){
    for(int i=0; i<3; ++i)
      for(int j=i+1; j<4; ++j)
        if(s.charAt(i)==s.charAt(j)) return true;
    return false;
  }

  public static boolean widerspruch(int bis, String vorschlag, Tip[] altetips){
    for(int i=0; i<bis; ++i)
      if(altetips[i].widerspruchZu(vorschlag)) return true;
    return false;
  }
}
